El método push_back añade un elemento al vector y le pone el valor que se pasa como parámetro. Push seria añadir y back (la "parte de atrás" en inglés) es el final de el vector.
Si tenemos un vector de enteros como:
vector<int> v;
y queremos añadir un 15 al final, podemos hacer
v.push_back(15);
El resultado de invocar a push_back es que el vector crece 1 de tamaño y se añade al final el valor indicado.
Cuando tenemos vectores de tuplas se puede crear una variable de tipo tupla para añadir al vector. Supongamos la tupla:
- struct Punto {
- float x, y;
System Message: WARNING/2 (<string>, line 26)
Definition list ends without a blank line; unexpected unindent.};
Si tenemos un vector de Puntos:
vector<Punto> vp;
para añadir un punto se puede hacer:
Punto p = { 0.0, 1.0 }; vp.push_back(p);
El método pop_back hace lo contrario que push_back, que es quitar un elemento del final. Si invocamos a pop_back el vector se reduce en una casilla y el valor de la última casilla se descarta. Por ejemplo, el siguiente programa
vector<char> v(4, 'z'); v.pop_back(); v.pop_back(); cout << v.size() << endl;
Mostrará 2 por pantalla, que es el tamaño de v, que ha pasado de 4 casillas a 2 (hemos hecho 2 pop_backs).
El método clear simplemente borra todas las casillas de un vector y lo deja vacío. Se usa normalmente para reciclar un vector después de usarlo y volver al estado inicial. Después de invocar a clear, size devuelve 0 y empty devuelve cierto. El programa siguiente
vector<bool> v(5, true); v.clear(); cout << v.size() << ' ' << v.empty() << endl;
Muestra 0 1 por pantalla.
Haz una función con la cabecera:
vector<int> repite_vector(const vector<int>& v, int largo);
que genere un vector de longitud largo poniendo tantas repeticiones del vector v como sea necesario. Por ejemplo, si v es [1, 2, 3] i largo es 10, el vector resultante debe ser:
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1]
Haz una función con la cabecera:
vector<int> interseccion(const vector<int>& v1, const vector<int>& v2);
que retorna un vector que contiene los elementos que se encuentran a la vez en v1 y v2. Por ejemplo, si v1 es [1, 2, 3, 4, 5, 10] y v2 es [2, 3, 6, 8, 10], el vector resultante debe ser [2, 3, 10].
Haz una función minusculas que recibe dos caracteres c1 y c2 y devuelve un vector con las letras minúsculas entre c1 y c2. Si alguna de las letras c1 y c2 no son minúsculas o c2 está antes que c1 el vector devuelto debe estar vacío.
Haz una función partir que recibe un string y un caracter c y devuelve un vector de strings. La función parte el string en trozos utilizando c como delimitador. Por ejemplo, si invocamos partir con el string:
"Groucho,Chico,Harpo"
y el caracter ',', el resultado será el vector:
["Groucho", "Chico", "Harpo"]
En preparación